#include<stdio.h>

void LargestTow(int a[],int n,int *pfirst,int *psecond); 
int main(void)
{
	int n,first,second;
	
	scanf("%d",&n);
	
	int a[n],*pfirst,*psecond;
	pfirst=&first;
	psecond=&second;
	
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	
	LargestTow(a,n,pfirst,psecond);
	
	printf("%d %d\n",*pfirst,*psecond);
	
	return 0;
}
void LargestTow(int a[],int n,int *pfirst,int *psecond)
{
	*pfirst=a[0];
	
	for(int i=1;i<n;i++)
	{
		if(a[i]>*pfirst)
		{
			*pfirst=a[i];
		}
	}
	
	if(*pfirst==a[0])
	{
		*psecond=a[1];
	}
	else
	{
		*psecond=a[0];
	}
	
	for(int i=0;i<n;i++)
	{
		if(a[i]>*psecond)
		{
			if(a[i]!=*pfirst)
			{
				*psecond=a[i];
			}
		}
	}
}
